1. Technical Field of the Invention
This invention pertains communication systems. More particularly, it relates to testing for, determining, and analyzing the capacity, current utilization, and current performance of the infrastructure supporting intelligent processes connected by a communications network, as well as to capacity planning for such systems.
2. Background Art
Users and managers of infrastructures including intelligent processes connected by communications networks need to know the capacity, performance, current utilization, response time, throughput, reliability, availability, topology, and service level attainment of the infrastructure in order to maintain, troubleshoot, and capacity plan for both the network and the intelligent endpoints attached to the network. Today this need is exemplified by the desire of organizations to provide customers with a high level of service on their web sites as they move business functions onto the Internet. With the coming of the pervasive computing environment in which inexpensive powerful microprocessors are embedded in vast numbers of appliances, personal assistants, and other machines and devices connected across intranets and internets, the importance and the complexity of understanding, managing, and planning the performance of interconnected intelligent systems will grow.
Currently, many separate, incompatible, complicated, and often unsatisfactory tools are required to perform the tasks required for managing interconnected intelligent systems. Existing management and planning tools and methodologies for such systems suffer from at least one of the following current shortcomings:    1. require user knowledge and input of current (and/or proposed) network topology;    2. require user to take a trace or multiple traces (snapshot of the network and computing system over a given time period) as a basis of analysis;    3. require network or end devices to perform calculations and store their results for subsequent retrieval or periodic reporting of this information;    4. require clock synchronization for centralized coordination and analysis of the trace and/or stored data;    5. analyze network and intelligent processor system components on an individual basis, and not as a whole;    6. require user knowledge and input of the configuration, customization, and capacity of the various computer and network components (e.g., processors, adapters, buses, internal and external storage, input/output microprocessors, channels, and local and wide area links), which may be based upon manufacturers' or suppliers' claims that are erroneous or not applicable to the users' environment; and, moreover, in internet, business-to-business, and pervasive computing connections, a subset of the components of such connections may be owned or controlled by more than one organization, so that access to performance, configuration, and other management information typically used for performance evaluation, planning, and troubleshooting may be inaccessible for entire subsets of the system considered as a whole;    7. require user knowledge and input of current system and network customization (e.g., tuning parameters);    8. provide either analysis of the current performance and status of the network, or an estimation of the network assuming user-input changed load or configuration, or a database of the network's past condition; but not all functions together as a seamless, consistent whole; and    9. send sample transactions or test packets to establish an average time value for system performance without performing mathematical analysis of the test transaction and test packet results to derive capacity and performance characteristics of the underlying network and processors.
With regard to network performance, users and managers of networks frequently use TCP/IP pings (i.e., architected network echo packets) to check the availability of a target resource and the network connecting to it. In addition, ping programs commonly report the ping's round trip time, and user network managers can get a feel for the “usual” amount of time a ping should take between stations A and B on their network. Typically, the ping function provides one way and two way transfers. In one way pings, a transmitter sends a packet to an echo server device which discards the packet and returns a time stamp to the server. In two way pings, the echo server returns the packet with the time stamp.
Current network and processor evaluation systems which send test packets across a network require that the evaluator have knowledge of the processor configuration and of the capacity of the individual processor components, have knowledge of the network topology, require that special proprietary code be installed in the processors and in intermediate network devices, and do not use queuing theory or provide an analytic evaluation of the test results.
Also, current performance estimation systems which employ queuing-theory-based evaluations of network and processor systems require that the evaluator have knowledge of the network topology, require storage and retrieval of data from intermediate network devices, require capture and analysis of network and processor traces that are depictions of the network and processors at a given time, require knowledge of the detailed configuration and customization of all processor and network devices, require knowledge of the capacity of each intermediate device and device interface, and require intensive preparation to set up and use.
A network, or networked, system refers to an interconnected system considered both as a whole as well as to its network and processor components each considered individually.
It is an object of the invention to provide a system and method for monitoring performance, capacity, and utilization of a network system.
It is a further object of the invention to provide a system and method for predicting the future performance of a network system based on changes in utilization or capacity.
It is a further object of the invention to provide a system and method for recording the past performance, capacity and utilization of a network system;
It is a further object of the invention to provide a system and method for enabling rapid, easy to use analysis of network connected processes providing those responsible for the management of the networked system supporting such processes to determine whether or not there is a problem in the networked system, and if there is a problem, whether it is in the end processors or the network, and whether the problem is with the capacity of or the tuning of an identified component.
It is a further object of the invention to provide a system and method for dealing with apparent responsiveness, a key concept for understanding the networked system's “response time” characteristics, providing an improved system and method for using transactions such as point and click together with pings of different sizes (as described in Klassen & Silverman) to mathematically deduce aspects of network performance, processor performance, and the network and processor performance considered as a unitary whole as its apparent responsiveness.
It is a further object of the invention to provide a system and method for performing mathematical analysis of test ping and transaction results to determine a network end-to-end throughput and response time bandwidth; the end processor transaction capacity; for determining a network end-to-end queue delay; for determining network end-to-end latency delay; for determining network internal packet size; and for determining the utilization of a network and utilization of intelligent processors connected by the network.
It is a further object of the invention to provide a system and method for improving end-to-end bandwidth analysis; expanding the concept of a queue delay to one of a queue depth; and providing a system and method for improving analysis of processor utilization for the processor as a whole as well as for I/O bound and processor bound operations.
It is a further object of the invention to provide a system and method for providing a comprehensive end-to-end queuing theory analysis of a network and processor.
It is a further object of the invention to provide a system and method for evaluating key network performance parameters of concern to the managers, support personnel, and planners responsible for data communication and data, voice, and video communications networks including the intelligent processors in supporting devices for such communications networks such as cellular phones and pagers.
It is a further object of the invention to provide a system and method for testing for the presence of prioritization support within a networked system and, if present, measuring the capacity, utilization, and performance of the networked system from the perspective of the various priority levels by means of transmission and analysis of sample packets and transactions set at varying priorities.
It is a further object of the invention to provide a flexible, portable, easy to use network analysis method and system which works non-disruptively on a live networked system, provides instantaneous analysis of the current condition of the networked system, to provide the capability to establish an historical database, and provides what if analysis for future changes to the networked system.